package com.huilan.hgt.exception;


/**
 * 自定义业务异常枚举类
 * @author ghy
 */
public enum ExceptionEnum {

    //格式校验
    PARAMETER_INVALIDATION(400, "参数未通过格式校验。"),
    NOT_FOUND(404, "资源未找到。"),

    //注册登录相关
    OLD_PASSWORD_UNEQUAL(10001, "原密码输入有误，请重新输入。"),
    TWO_PASSWORD_UNEQUAL(10001, "两次输入的密码不同，请重新输入。"),
    INCORRECT_CREDENTIALS(10002, "用户名或密码错误，请重新输入！"),
    ACCOUNT_EXIST(10003, "用户已存在，请直接登录。"),
    ACCOUNT_NOT_EXIST(10003, "用户不存在"),
    SEND_VERIFY_CODE_FAILED(10004, "发送验证码失败，请重试。"),
    VALIDATION_FAILED(10005, "格式未通过验证。"),
    SEND_VERIFY_CODE_EXCESSIVE(10006, "请勿频繁获取验证码。"),
    WRONG_VERIFY_CODE(10007, "验证码错误，请重新输入。"),
    SEND_PASSWORD_FAILED(10009, "发送密码失败，请重试。"),
    VERIFY_CODE_INVALID(10010, "验证码失效，请重新回去验证码。"),
    ACCOUNT_LOCKED(10010, "账号已被锁定，请与管理员联系"),
    FILE_NOT_FOUND(10010, "文件不存在"),
    PERMISSION_DENIED(10011, "您没有授权");

    /**
     * 异常码
     */
    private final int code;

    /**
     * 异常描述
     */
    private final String msg;

    ExceptionEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }


    public String getMsg() {
        return msg;
    }

    public BusinessException getEx() {
        return new BusinessException(this);
    }

}
